/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mx.kn.cstf2.dao.impl;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import com.mx.kn.cstf2.dao.LoginDao;
import com.mx.kn.cstf2.dto.UsuarioDto;

/**
 *
 * @author user1
 */
@Repository
@Component("loginDao")
public class LoginDaoImpl implements LoginDao{
    

    private JdbcTemplate jdbcStksf2;
    @Autowired
	public void setDataSourceStkfsf2(@Qualifier("dataSourceStkfsf2") DataSource DataSourceStkfsf2) {
		this.jdbcStksf2 = new JdbcTemplate(DataSourceStkfsf2);
	}

    public UsuarioDto obtenerUsuarioIngreso(UsuarioDto usuario) {
       UsuarioDto user= new UsuarioDto();
        String query = "SELECT t_users.*,users_modulo.id as tipo FROM t_users"+
        				" INNER JOIN users_modulo"+ 
        				" ON (t_users.\"id\" = users_modulo.\"idUser\")"+
        				" WHERE UPPER(username) = ? AND pwd =  ?";
		 
	 
		return (UsuarioDto)jdbcStksf2.queryForObject(
				query, new Object[] {usuario.getUsername(), usuario.getPwd()}, new BeanPropertyRowMapper(UsuarioDto.class));
		
        
        
//        
//     	List<Map<String, Object>> rows = jdbcStksf2.queryForList(query,new Object[] {usuario.getUsername(), usuario.getUsername()});
//    	if(rows.size() >0){
//    		for (Map row : rows) {
//        		try {
//    				user=AdaptadorLogin.obtenerUsuario(row);
//    			} catch (SQLException e) {
//    				// TODO Auto-generated catch block
//    				e.printStackTrace();
//    			} 
//        		System.out.println();
//        	}
//    		return user;
//    	}else{
//    		return null;
//    	}
     	
    	
     
//     	return (UsuarioDto) namedParameterJdbcTemplate.query(query,namedParameters, ParameterizedBeanPropertyRowMapper.newInstance(UsuarioDto.class));
//    	
    	
//       	Connection conn = null;
//        PreparedStatement ps = null;
//        ResultSet rs = null;
//        String sentenciaSQL = LoginSQL.SELECCIONAR;
//        int index = 1;
//
//        try {
//            conn = odb.obtenerConexion("db");
//            
//            ps = conn.prepareStatement(sentenciaSQL);
//            
//            ps.setString(index++, usuario.getName());
//            ps.setString(index++, usuario.getPassword());
//            
//            rs = ps.executeQuery();
//           usuario = AdaptadorLogin.obtenerUsuario(rs);         
//        } catch (SQLException ex) {
//            log.error("Error al obtener el Usuario desde la base de datos", ex);
//            throw new CstF2Exception("Error al obtener el Usuario desde la base de datos");
//        } finally {
//            odb.cerrarResultSet(rs);
//            odb.cerrarStatement(ps);
//            odb.cerrarConnection(conn);
//        }
//        return usuario;
    }
}
